package cn.xiaopengstack.domain.award.service;

import cn.xiaopengstack.domain.award.model.entity.DistributeAwardEntity;
import cn.xiaopengstack.domain.award.model.entity.UserAwardOrderEntity;
import cn.xiaopengstack.domain.strategy.model.entity.StrategyAwardEntity;

import java.util.List;

/**
 * @author jiangyangang
 */
public interface IAwardService {

    /**
     * 保存用户抽奖单
     * @param orderEntity
     */
    void createUserAwardOrder(UserAwardOrderEntity orderEntity);

    /**
     * 根据活动ID查询抽奖奖品列表配置
     *
     * @param activityId 策略ID
     * @param userId 用户ID
     * @return 奖品列表
     */
    List<StrategyAwardEntity> queryRaffleStrategyAwardList(String userId, Long activityId);

    /**
     * 分发奖品
     * @param awardEntity
     */
    void distributeAward(DistributeAwardEntity awardEntity);
}
